This invention relates to search engines such as those used to locate Internet resources.
The Internet is quickly becoming an important source for various types of information. A seemingly endless quantity of information is available for those with the patience to find it.
Various search engines are available for locating different Internet Web sites relating to specified topics. Generally a user enters a search string, and the search engine returns a list of resources that correspond in some fashion to the search string. The user peruses this list and navigates to different listed resources in an attempt to find one that meets the user""s specific needs.
Search engines such as this generally work by matching keywords provided by the user with words contained in the Web sites themselves. Alternatively, search engines for a single Web site sometimes match user-provided keywords with predefined keywords associated with different resources within the site.
Although search methods such as this are good at finding resources, the relevancy of the resources varies depending on the search strings provided by the user. Furthermore, the search engines often returns tens, hundreds, or even thousands of uncategorized resultsxe2x80x94leaving the user with a significant task of sifting through search result listings to find specific items that might be interesting.
The invention includes a search engine for use with topics that are indexed by keywords or keyword phrases. In response to a user-provided search phrase, the search engine performs several levels of keyword searching, starting with a relatively exact matching search and proceeding with other searches that are increasingly less exact. Each less exact level of searching is performed only if the higher level yields no results.
One or more actions can be associated with different keyword phrases. When a keyword phrase is found during a search, its associated action is initiated. As an example, an action might comprise immediately and automatically displaying the topic associated with the keyword phrase. As another example, an action might comprise listing the topic in a results window, along with other results.
The actions are prioritized. When a search phrase is matched with multiple keyword phrases, one or more of the actions associated with the multiple keyword phrases will have the highest priority. If only one of the matches has the highest priority, that action is initiated. If there is a tie for the highest priority, all results are listed on a results pagexe2x80x94regardless of the actions associated with the keyword phrases.
Alternative actions can be specified for a particular keyword phrase, to become active depending on which search level was responsible for matching the keyword phrase.
The invention utilizes a multiple table architecture to provide flexibility. A topic table contains topic IDs, topic URLs and topic types. A keyword phrase table contains keyword phrases, topic IDs (referencing the topic table), phonetic representations of the keyword phrases, and entry categorizations. A behavior table specifies the alternative actions mentioned above for each combination of topic type and entry categorization. When a keyword phrase from a particular phrase table entry is matched, its action is found by first determining the associated topic and its topic type from the topic table. The topic type and the entry categorization (from the entry of the matched keyword phrase) are then used to index the behavior table, to find the appropriate action to be performed with respect to the topic specified in the entry of the matched keyword phrase.